package com.xinghai.system.domain.dto;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.xinghai.common.annotation.Excel;
import com.xinghai.common.core.domain.BaseEntity;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.math.BigDecimal;
import java.util.Date;

@NoArgsConstructor
@AllArgsConstructor
@Data
public class XhUseVehicleInfoDto extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /** id */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;

    /** 需求人 */
    @Excel(name = "需求人")
    private String needUserName;

    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;

    /** 项目经理 */
    @Excel(name = "项目经理")
    private String projectManager;

    /** 设备类型（字典值8001XX） */
    @Excel(name = "设备类型",dictType = "eq_type")
    private String eqType;

    /** 发货日期 */
    @Excel(name = "发货日期")
    private String deliverDate;

    /** 需求到货日期 */
    @Excel(name = "预计到货日期")
    private String needGiveDate;

    /** 发货原因 */
    @Excel(name = "发货原因说明")
    private String deliverDesc;

    /** 始发地 */
    @Excel(name = "始发地")
    private String beginAddr;

    /** 目的地 */
    @Excel(name = "目的地")
    private String endAddr;

    /** 发货方式 字典值*/
    @Excel(name = "发货方式",dictType = "deliver_way")
    private String deliverWay;

    /** 图片地址（逗号分割） */
//    @Excel(name = "打包图片", readConverterExp = "逗号分割")
    private String imgLinks;

    /** 需求车型 */
    @Excel(name = "需求车型")
    private String needVehicle;

    /** 公里数 */
    @Excel(name = "公里数（公里）")
    private BigDecimal kilometre;

    /** 预估装载率（100.00） */
//    @Excel(name = "预估装载率", readConverterExp = "1=00.00")
    @Excel(name = "预估装载率")
    private BigDecimal estimateLoadRate;

    @Excel(name = "装车人员")
    private String puckVehPeople;

    @Excel(name = "发货名称")
    private String deliverName;

    /**TODO 发货明细 */

    /** 发货设备入库单号 */
    @Excel(name = "发货设备入库单号")
    private String pushStashNo;

    /** 发货设备移库单号 */
    @Excel(name = "发货设备移库单号")
    private String changeStashNo;

    /** 是否产生异常费用 */
    @Excel(name = "是否产生异常费用",dictType = "yes_no")
    private String isAbnormalSum;

    /** 异常费用 */
    @Excel(name = "异常费用")
    private BigDecimal abnormalSum;

    /** 所在部门 */
//    @Excel(name = "所在部门")
    private String dept;

    /** 实例状态变更类型 start：审批实例开始；finish：审批正常结束（同意或拒绝）；terminate：审批终止（发起人撤销审批单）；delete：审批实例删除;cancel：退回 */
    @Excel(name = "实例状态变更类型",dictType = "apply_type")
    private String applyType;

    /** 节点类型;字典-point_type */
    @Excel(name = "节点类型",dictType = "point_type")
    private String pointType;

    private Long vehicleId;

    /** 审批时间 */
    @Excel(name = "审批时间", dateFormat = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date finishTime;

    /** 指派类型 */
//    @Excel(name = "指派类型", dictType = "assign_type")
    private String assignType;

    /** 合同id */
//    @Excel(name = "合同id")
    private String contactId;

//    @Excel(name = "拒绝原因")
    private String rejectCause;

//    @Excel(name = "订单id")
    private String orderId;

    /** 目的地联系人 */
    private String endContact;

    /** 钉钉预览图片地址（逗号分割） */
    private String dingtalkImgLinks;

}
